package edu.csl.study.scala.basic

/**
 * Hello world!
 *
 */
object Method   {
  /**
   * 标准模式：有返回值类型，有Return
   * @param a
   * @param b
   * @return
   */
  def add(a:Int,b:Int):Int = {
      return a+b
  }

  /**
   * 自动推断类型：scala自动根据最后一个表达式的值判断返回值。
   * 省略 return 和返回值类型。
   * 这里自动判断为Int
   * @param a
   * @param b
   * @return
   */
  def add2(a:Int,b:Int) = {
    println(" a + b ")
    a+b
  }
  /**
   * 自动判断为Unit
   * @param a
   * @param b
   */
  def say(a:Int,b:Int) = {
    println("say a  + b ")
  }
  /**
   * 只有一行语句可以省略大括号
   * @param a
   * @param b
   * @return
   */
  def add3(a:Int,b:Int) = a+b

  /**
   * 如果没有参数，可以省略参数列表的()
   */
  def say() =  2
  /**
   * 如果没有参数，可以省略参数列表的()
   */
  def say2 =   2

  def main(args: Array[String]): Unit = {
    println( "Hello World!" )
    println(" add = "+ add(1,2))
    println(" add = "+ say(1,2))
    println(" add = "+ say)
    println(" add = "+ say2)
  }

}
